package team.seekers.hula.island.islandUser.entity.dao;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import team.seekers.hula.common.entity.BaseDO;

import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(IslandUserDOField.TABLE_NAME)
public class IslandUserDO extends BaseDO {

    private static final long serialVersionUID = 1L;

    @TableId(value = IslandUserDOField.ID, type = IdType.ASSIGN_ID)
    private String id;

    @TableField(IslandUserDOField.USER_ID)
    private String userId;

    @TableField(IslandUserDOField.ISLAND_ID)
    private String islandId;

    @TableField(IslandUserDOField.COMMENT)
    private String comment;

    /**
     * 角色
     */
    @TableField(IslandUserDOField.ROLE)
    private Integer role;

    /**
     * 记忆刻入次数
     */
    @TableField(IslandUserDOField.COUNT)
    private Integer count;

    /**
     * 在这个浪屿获得的hula币
     */
    @TableField(IslandUserDOField.HULA_COIN)
    private Double hulaCoin;

    @TableField(IslandUserDOField.FIXED)
    private Integer isFixed;

    @TableField(IslandUserDOField.COLLECTED)
    private Integer isCollected;

    @TableField(IslandUserDOField.DELETED)
    @TableLogic(value = "0", delval = "1")
    private Integer deleted;

    @TableField(value = IslandUserDOField.GMT_CREATE, fill = FieldFill.INSERT)
    private Date gmtCreate;

    @TableField(value = IslandUserDOField.GMT_MODIFIED, fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;
}
